Amazon GuardDuty Malware Protection for Amazon S3で検出したマルウェアをライフサイクルで削除してみた
こんにちは、シマです。
皆さんはS3のファイルにマルウェアスキャンをしていますか?今回もまたまたS3に対するネイティブなマルウェア検出と保護の機能である「Amazon GuardDuty Malware Protection for Amazon S3」についての記事です。先日、以下の記事を書きましたがご覧いただけましたでしょうか。
上記記事ではS3オブジェクトへのタグ付けイベントでLambdaを実行し削除や隔離の処理をするものでしたが、日数経過でマルウェアを削除したいケースや、もっとシンプルに実装したいケースではライフサイクルを使う方式も良いと思います。今回はS3のライフサイクルを使ってマルウェアを削除していこうと思います。
構築
前提条件
「Amazon GuardDuty Malware Protection for Amazon S3」の設定については、以下の記事の内容は済んでおり、S3バケットにアップロードされたファイルにスキャン結果のタグ付けや、マルウェアと判定されたファイルへのアクセスブロックがされる状態になっている前提です。
ライフサイクルの設定
AWS管理コンソールのS3の画面から、対象バケットを選択し、管理タブより「ライフサイクルルールを作成する」をクリックします。
任意のライフサイクルルール名を設定し「タグの追加」ボタンを押下し、キーには「GuardDutyMalwareScanStatus」値には「THREATS_FOUND」を指定します。
ライフサイクルルールのアクションでは「オブジェクトの現行バージョンを有効期限切れにする」にチェックをつけ、「オブジェクト作成後の日数」には削除までの日数を設定します。今回は検証なので「1」を指定します。
最後に「ルールの作成」をクリックします。
試してみた
早速スキャン対象バケットへ無害なテキストファイルと、有害なファイルとしてEicarテストファイルを格納して挙動を確認しました。Eicarテストファイルは、想定通りのタグが付与されています。
設定した日数後、ライフサイクルルールにより処理が実行されて、Eicarテストファイルが削除されていることが確認できました。
最後に
今回はAmazon GuardDuty Malware Protection for Amazon S3で検出されたマルウェアをS3のライフサイクルで削除してみました。
本記事がどなたかのお役に立てれば幸いです。